1. Field of Invention
The present invention relates to the field of computer graphics and image processing, and in particular to a method for acquisition of Windows GDI and DirectX data while DirectX function remains available.
2. Description of Prior Art
After 3D and video processing has been adopted into the regular computational operations of a computer, there emerges such requirement that GDI data and DirectX data, such as 3D and video, are intercepted simultaneously in real time remote applications. The existing methods for acquiring data of a computer screen are listed as follows.
(1) The first method is to, in a user mode, hook each application present in a system by means of a hooker, filter any operation related to screen change and perform processing. Unfortunately, the large amount of data in the operations of a graphics system makes this method relatively inefficient and difficult in synchronous and rapid acquisition of graphics output. Also, synchronization is complicated due to the hook to each process. This method is employed in an early version of the remote tool like VNC.
(2) The second method is to utilize Mirror system defined in Windows and thus can acquire any synchronous change in an efficient way. This method, however, has a disadvantage in that DirectX application is automatically prohibited by the system, and thus no DirectX data can be acquired.
(3) The third method is to acquire DirectX data in such a manner that DirectX COM interface is intercepted in a user mode. But this method cannot process GDI data.
(4) The fourth method is to acquire GDI data by means of a filter driver. This method can maintain the availability of DirectX interface, and can also intercept completely GDI and DirectX data in cooperation with the third method. Although both GDI and DirectX data can be intercepted by combining the third and fourth methods, such an approach is troublesome to use. Furthermore, the third method functions on a complex DirectX COM interface, so it is difficult to determine the display memory intercepting performed directly through DirectX.
Therefore, a technique for acquisition of Windows GDI and DirectX data while DirectX function remains available is desired.